home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-07-20 | 31.4 KB | 1,057 lines |
- # define CSETLIT 257
- # define EOFX 258
- # define IDENT 259
- # define INTLIT 260
- # define REALLIT 261
- # define STRINGLIT 262
- # define BREAK 263
- # define BY 264
- # define CASE 265
- # define CREATE 266
- # define DEFAULT 267
- # define DO 268
- # define ELSE 269
- # define END 270
- # define EVERY 271
- # define FAIL 272
- # define GLOBAL 273
- # define IF 274
- # define INITIAL 275
- # define LINK 276
- # define LOCAL 277
- # define NEXT 278
- # define NOT 279
- # define OF 280
- # define PROCEDURE 281
- # define RECORD 282
- # define REPEAT 283
- # define RETURN 284
- # define STATIC 285
- # define SUSPEND 286
- # define THEN 287
- # define TO 288
- # define UNTIL 289
- # define WHILE 290
- # define ASSIGN 291
- # define AT 292
- # define AUGACT 293
- # define AUGAND 294
- # define AUGEQ 295
- # define AUGEQV 296
- # define AUGGE 297
- # define AUGGT 298
- # define AUGLE 299
- # define AUGLT 300
- # define AUGNE 301
- # define AUGNEQV 302
- # define AUGSEQ 303
- # define AUGSGE 304
- # define AUGSGT 305
- # define AUGSLE 306
- # define AUGSLT 307
- # define AUGSNE 308
- # define BACKSLASH 309
- # define BANG 310
- # define BAR 311
- # define CARET 312
- # define CARETASGN 313
- # define COLON 314
- # define COMMA 315
- # define CONCAT 316
- # define CONCATASGN 317
- # define CONJUNC 318
- # define DIFF 319
- # define DIFFASGN 320
- # define DOT 321
- # define EQUIV 322
- # define INTER 323
- # define INTERASGN 324
- # define LBRACE 325
- # define LBRACK 326
- # define LCONCAT 327
- # define LCONCATASGN 328
- # define LEXEQ 329
- # define LEXGE 330
- # define LEXGT 331
- # define LEXLE 332
- # define LEXLT 333
- # define LEXNE 334
- # define LPAREN 335
- # define MCOLON 336
- # define MINUS 337
- # define MINUSASGN 338
- # define MOD 339
- # define MODASGN 340
- # define NOTEQUIV 341
- # define NUMEQ 342
- # define NUMGE 343
- # define NUMGT 344
- # define NUMLE 345
- # define NUMLT 346
- # define NUMNE 347
- # define PCOLON 348
- # define PLUS 349
- # define PLUSASGN 350
- # define QMARK 351
- # define RBRACE 352
- # define RBRACK 353
- # define REVASSIGN 354
- # define REVSWAP 355
- # define RPAREN 356
- # define SCANASGN 357
- # define SEMICOL 358
- # define SLASH 359
- # define SLASHASGN 360
- # define STAR 361
- # define STARASGN 362
- # define SWAP 363
- # define TILDE 364
- # define UNION 365
- # define UNIONASGN 366
-
- # line 138 "expanded.g"
- #include "../h/config.h"
- #include "tproto.h"
- #include "trans.h"
- #include "tsym.h"
- #include "tree.h"
- #include "../h/keyword.h"
- #define YYSTYPE nodeptr
- #define YYMAXDEPTH 500
-
- extern int fncargs[];
- int idflag;
- int id_cnt;
- int key_num;
-
-
-
-
-
-
- #define yyclearin yychar = -1
- #define yyerrok yyerrflag = 0
- extern int yychar;
- extern short yyerrflag;
- #ifndef YYMAXDEPTH
- #define YYMAXDEPTH 150
- #endif
- #ifndef YYSTYPE
- #define YYSTYPE int
- #endif
- YYSTYPE yylval, yyval;
- # define YYERRCODE 256
-
- # line 431 "expanded.g"
-
- short yyexca[] ={
- -1, 1,
- 0, -1,
- -2, 0,
- -1, 18,
- 358, 35,
- -2, 33,
- -1, 103,
- 358, 35,
- -2, 33,
- -1, 109,
- 358, 35,
- -2, 33,
- };
- # define YYNPROD 196
- # define YYLAST 784
- short yyact[]={
-
- 32, 88, 163, 78, 85, 86, 87, 80, 167, 93,
- 77, 343, 110, 348, 220, 96, 89, 303, 92, 349,
- 165, 18, 79, 45, 169, 109, 335, 97, 90, 314,
- 91, 301, 162, 95, 94, 301, 44, 301, 302, 110,
- 345, 319, 111, 325, 168, 177, 166, 342, 164, 175,
- 174, 340, 317, 67, 50, 46, 55, 316, 222, 176,
- 47, 102, 84, 51, 331, 49, 63, 56, 110, 82,
- 83, 48, 326, 61, 346, 304, 300, 310, 62, 81,
- 324, 58, 350, 160, 321, 66, 59, 220, 110, 309,
- 306, 60, 351, 52, 161, 65, 110, 308, 336, 35,
- 110, 305, 220, 54, 307, 53, 323, 100, 57, 64,
- 32, 88, 206, 78, 85, 86, 87, 80, 322, 93,
- 77, 110, 315, 17, 318, 96, 89, 110, 92, 108,
- 99, 22, 79, 45, 23, 172, 210, 97, 90, 110,
- 91, 311, 110, 95, 94, 299, 44, 110, 105, 209,
- 106, 110, 171, 173, 101, 170, 26, 3, 107, 38,
- 31, 21, 320, 67, 50, 46, 55, 98, 341, 25,
- 47, 204, 84, 51, 28, 49, 63, 56, 2, 82,
- 83, 48, 15, 61, 12, 296, 76, 13, 62, 81,
- 75, 58, 14, 10, 74, 66, 59, 73, 72, 40,
- 71, 60, 70, 52, 69, 65, 295, 68, 39, 43,
- 41, 36, 34, 54, 104, 53, 4, 312, 57, 64,
- 32, 88, 24, 78, 85, 86, 87, 80, 103, 93,
- 77, 12, 27, 11, 13, 96, 89, 223, 92, 14,
- 10, 16, 79, 45, 263, 264, 19, 97, 90, 20,
- 91, 9, 8, 95, 94, 208, 44, 7, 6, 5,
- 1, 0, 221, 0, 0, 0, 0, 0, 0, 0,
- 224, 229, 226, 67, 50, 46, 55, 0, 225, 0,
- 47, 0, 84, 51, 228, 49, 63, 56, 0, 82,
- 83, 48, 0, 61, 0, 0, 0, 0, 62, 81,
- 0, 58, 0, 0, 0, 66, 59, 0, 0, 0,
- 0, 60, 0, 52, 0, 65, 0, 0, 0, 0,
- 279, 280, 0, 54, 0, 53, 0, 0, 57, 64,
- 88, 0, 78, 85, 86, 87, 80, 0, 93, 77,
- 0, 0, 0, 0, 96, 89, 0, 92, 298, 0,
- 0, 79, 45, 0, 0, 0, 97, 90, 0, 91,
- 0, 0, 95, 94, 0, 44, 285, 286, 287, 288,
- 289, 281, 282, 283, 284, 0, 0, 0, 0, 0,
- 0, 0, 67, 50, 46, 55, 30, 0, 0, 47,
- 313, 84, 51, 0, 49, 63, 56, 352, 82, 83,
- 48, 0, 61, 0, 0, 0, 0, 62, 81, 0,
- 58, 0, 0, 0, 66, 59, 328, 0, 337, 0,
- 60, 0, 52, 0, 65, 0, 0, 0, 0, 0,
- 0, 0, 54, 0, 53, 0, 144, 57, 64, 113,
- 0, 143, 142, 127, 128, 129, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, 139, 140, 29, 0, 0,
- 0, 126, 0, 0, 202, 116, 0, 0, 118, 0,
- 0, 0, 123, 0, 33, 0, 117, 0, 213, 214,
- 215, 216, 217, 218, 219, 0, 121, 0, 125, 37,
- 0, 0, 227, 0, 0, 0, 0, 0, 120, 0,
- 0, 145, 115, 114, 0, 141, 0, 0, 124, 0,
- 122, 112, 158, 0, 119, 0, 0, 42, 0, 146,
- 147, 148, 149, 150, 151, 0, 0, 0, 0, 0,
- 0, 159, 152, 153, 154, 155, 156, 157, 203, 205,
- 207, 205, 0, 0, 0, 0, 0, 0, 211, 212,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 294, 178, 179, 180, 181, 182, 183, 184, 185,
- 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 230, 231, 232, 233,
- 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
- 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, 262, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 293, 297, 205, 0, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 290,
- 291, 292, 329, 330, 0, 332, 333, 334, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 338, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 344, 0,
- 0, 0, 0, 0, 0, 0, 0, 347, 0, 0,
- 0, 0, 0, 0, 0, 0, 344, 353, 354, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 327,
- 0, 207, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339 };
- short yypact[]={
-
- -99,-1000, -42,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
- -1000,-235,-1000,-128,-1000, -89,-103,-1000, -36,-129,
- -208,-1000,-1000,-1000,-105,-1000,-274,-127,-141,-333,
- -250,-309,-1000,-1000, 148,-1000, 190,-233,-317,-315,
- -1000,-157,-1000,-276, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73,-1000,-1000,
- -1000,-1000,-1000,-1000,-1000,-1000,-1000, -36,-1000,-1000,
- -36, -36, -36, -36,-123,-1000,-1000,-1000,-1000,-1000,
- -36, -36, -36, -36, -36, -36, -36, -36,-213,-1000,
- -128,-277,-129, -36,-129, -36,-1000,-1000,-1000, -36,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, -36,-146, -36,-114,-1000,-1000,
- -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
- -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
- -1000,-1000,-250,-1000,-280,-1000,-314,-341,-278,-1000,
- -1000,-1000,-1000,-167,-197,-176,-171,-179,-191,-250,
- -118,-1000,-129,-327,-213,-148,-301,-306,-1000,-309,
- -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
- -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
- -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
- -1000,-1000,-1000,-140,-1000,-233,-233,-233,-233,-233,
- -233,-233,-233,-233,-233,-233,-233,-233,-233,-317,
- -317,-315,-315,-315,-315,-1000,-1000,-1000,-1000,-1000,
- -1000,-1000,-1000,-312,-230,-1000,-272,-1000,-284,-1000,
- -1000, -36,-1000, -36,-1000, -36, -36,-261, -36, -36,
- -36,-1000,-330,-228,-1000,-1000,-1000,-1000, 73,-1000,
- -36,-1000,-1000,-1000,-1000, -36,-1000,-1000,-1000,-250,
- -218,-256,-250,-250,-250,-1000,-313,-1000,-279,-1000,
- -36,-339,-1000,-232,-222,-1000,-1000,-250,-1000,-256,
- -36, -36,-1000,-250,-250 };
- short yypgo[]={
-
- 0, 260, 178, 259, 258, 257, 252, 251, 249, 161,
- 246, 167, 241, 237, 233, 232, 228, 174, 222, 217,
- 214, 386, 457, 160, 474, 212, 99, 211, 489, 159,
- 208, 199, 210, 517, 209, 207, 204, 202, 200, 198,
- 197, 194, 190, 186, 171, 112, 185, 168, 47, 162 };
- short yyr1[]={
-
- 0, 1, 2, 2, 3, 3, 3, 3, 7, 8,
- 8, 9, 9, 10, 6, 12, 4, 13, 13, 5,
- 18, 14, 19, 19, 19, 11, 11, 15, 15, 20,
- 20, 16, 16, 17, 17, 22, 22, 21, 21, 23,
- 23, 24, 24, 24, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 24, 25, 25, 25, 26, 26, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 28, 28, 28, 29, 29, 29,
- 29, 29, 30, 30, 30, 30, 30, 31, 31, 32,
- 32, 32, 32, 33, 33, 33, 33, 33, 33, 33,
- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
- 33, 33, 33, 33, 33, 33, 33, 33, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 40, 40, 41, 41, 42, 42, 43, 37, 37,
- 37, 37, 38, 38, 39, 47, 47, 48, 48, 44,
- 44, 46, 46, 35, 35, 35, 35, 36, 49, 49,
- 49, 45, 45, 1, 5, 21 };
- short yyr2[]={
-
- 0, 2, 0, 2, 1, 1, 1, 1, 2, 1,
- 3, 1, 1, 0, 3, 0, 6, 0, 1, 6,
- 0, 6, 0, 1, 3, 1, 3, 0, 4, 1,
- 1, 0, 3, 0, 3, 0, 1, 1, 3, 1,
- 3, 1, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 1, 3, 5, 1, 3, 1,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 1, 3, 3, 1, 3, 3,
- 3, 3, 1, 3, 3, 3, 3, 1, 3, 1,
- 3, 3, 3, 1, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 2, 1, 1,
- 2, 3, 3, 3, 4, 3, 4, 4, 3, 2,
- 2, 2, 4, 2, 4, 2, 4, 2, 1, 2,
- 2, 4, 4, 6, 6, 1, 3, 3, 3, 1,
- 3, 1, 3, 1, 1, 1, 1, 6, 1, 1,
- 1, 1, 3, 3, 4, 1 };
- short yychk[]={
-
- -1000, -1, -2, 256, 258, -3, -4, -5, -6, -7,
- 282, -14, 273, 276, 281, -2, -12, 358, 256, -10,
- -8, -9, 259, 262, -18, 258, 259, -15, -17, -22,
- -21, -23, 256, -24, -25, -26, -27, -28, -29, -30,
- -31, -32, -33, -34, 292, 279, 311, 316, 327, 321,
- 310, 319, 349, 361, 359, 312, 323, 364, 337, 342,
- 347, 329, 334, 322, 365, 351, 341, 309, -35, -36,
- -37, -38, -39, -40, -41, -42, -43, 266, 259, 278,
- 263, 335, 325, 326, 318, 260, 261, 262, 257, 272,
- 284, 286, 274, 265, 290, 289, 271, 283, -11, 259,
- 315, 259, 335, -16, -20, 275, 277, 285, 270, 358,
- 318, 351, 363, 291, 355, 354, 317, 328, 320, 366,
- 350, 338, 362, 324, 360, 340, 313, 295, 296, 297,
- 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
- 308, 357, 294, 293, 288, 311, 329, 330, 331, 332,
- 333, 334, 342, 343, 344, 345, 346, 347, 322, 341,
- 316, 327, 349, 319, 365, 337, 361, 323, 359, 339,
- 312, 309, 292, 310, 326, 325, 335, 321, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
- -33, -33, -21, -22, -44, -22, -45, -22, -44, 272,
- 259, -22, -22, -21, -21, -21, -21, -21, -21, -21,
- 315, -9, 335, -13, -11, -17, -11, -21, -17, -23,
- -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
- -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
- -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
- -24, -24, -24, -26, -26, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, -28, -28, -28, -28, -28, -29,
- -29, -30, -30, -30, -30, -31, -31, -31, -31, -31,
- -33, -33, -33, -22, -21, 352, -46, -22, -44, 259,
- 356, 315, 352, 358, 353, 268, 287, 280, 268, 268,
- 268, 259, -19, -11, 356, 270, 358, 358, 264, 353,
- -49, 314, 348, 336, 352, 315, 356, -22, -45, -21,
- -21, 325, -21, -21, -21, 356, 326, -26, -21, -22,
- 269, -47, -48, 267, -21, 353, 353, -21, 352, 358,
- 314, 314, -48, -21, -21 };
- short yydef[]={
-
- 2, -2, 0, 2, 1, 3, 4, 5, 6, 7,
- 15, 0, 13, 0, 20, 0, 0, 27, -2, 0,
- 8, 9, 11, 12, 0, 193, 0, 31, 0, 0,
- 36, 37, 195, 39, 41, 74, 77, 79, 94, 97,
- 102, 107, 109, 113, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 138, 139,
- 140, 141, 142, 143, 144, 145, 146, 0, 148, 149,
- 35, 35, 35, 35, 0, 183, 184, 185, 186, 168,
- 35, 35, 0, 0, 0, 0, 0, 0, 14, 25,
- 0, 0, 17, -2, 0, 0, 29, 30, 194, -2,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 35, 35, 35, 0, 114, 115,
- 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
- 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
- 136, 137, 147, 150, 0, 179, 0, 191, 0, 159,
- 160, 169, 170, 36, 0, 0, 161, 163, 165, 167,
- 0, 10, 22, 0, 18, 0, 0, 0, 34, 38,
- 40, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 75, 78, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 95,
- 96, 98, 99, 100, 101, 103, 104, 105, 106, 108,
- 110, 111, 112, 0, 36, 155, 0, 181, 0, 158,
- 151, 35, 152, 35, 153, 0, 0, 0, 0, 0,
- 0, 26, 0, 23, 16, 19, 28, 32, 0, 154,
- 0, 188, 189, 190, 156, 35, 157, 180, 192, 171,
- 172, 0, 162, 164, 166, 21, 0, 76, 0, 182,
- 0, 0, 175, 0, 0, 24, 187, 173, 174, 0,
- 0, 0, 176, 177, 178 };
- #ifndef lint
- static char yaccpar_sccsid[] = "@(#)yaccpar 4.1 (Berkeley) 2/11/83";
- #endif
-
- # define YYFLAG -1000
- # define YYERROR goto yyerrlab
- # define YYACCEPT return(0)
- # define YYABORT return(1)
-
- /* parser for yacc output */
-
- #ifdef YYDEBUG
- int yydebug = 0; /* 1 for debugging */
- #endif
- YYSTYPE yyv[YYMAXDEPTH]; /* where the values are stored */
- int yychar = -1; /* current input token number */
- int yynerrs = 0; /* number of errors */
- short yyerrflag = 0; /* error recovery flag */
-
- yyparse() {
-
- short yys[YYMAXDEPTH];
- short yyj, yym;
- register YYSTYPE *yypvt;
- register short yystate, *yyps, yyn;
- register YYSTYPE *yypv;
- register short *yyxi;
-
- yystate = 0;
- yychar = -1;
- yynerrs = 0;
- yyerrflag = 0;
- yyps= &yys[-1];
- yypv= &yyv[-1];
-
- yystack: /* put a state and value onto the stack */
-
- #ifdef YYDEBUG
- if( yydebug ) printf( "state %d, char 0%o\n", yystate, yychar );
- #endif
- if( ++yyps> &yys[YYMAXDEPTH] ) { tsyserr( "parse stack overflow" ); return(1); }
- *yyps = yystate;
- ++yypv;
- *yypv = yyval;
-
- yynewstate:
-
- yyn = yypact[yystate];
-
- if( yyn<= YYFLAG ) goto yydefault; /* simple state */
-
- if( yychar<0 ) if( (yychar=yylex())<0 ) yychar=0;
- if( (yyn += yychar)<0 || yyn >= YYLAST ) goto yydefault;
-
- if( yychk[ yyn=yyact[ yyn ] ] == yychar ){ /* valid shift */
- yychar = -1;
- yyval = yylval;
- yystate = yyn;
- if( yyerrflag > 0 ) --yyerrflag;
- goto yystack;
- }
-
- yydefault:
- /* default state action */
-
- if( (yyn=yydef[yystate]) == -2 ) {
- if( yychar<0 ) if( (yychar=yylex())<0 ) yychar = 0;
- /* look through exception table */
-
- for( yyxi=yyexca; (*yyxi!= (-1)) || (yyxi[1]!=yystate) ; yyxi += 2 ) ; /* VOID */
-
- while( *(yyxi+=2) >= 0 ){
- if( *yyxi == yychar ) break;
- }
- if( (yyn = yyxi[1]) < 0 ) return(0); /* accept */
- }
-
- if( yyn == 0 ){ /* error */
- /* error ... attempt to resume parsing */
-
- switch( yyerrflag ){
-
- case 0: /* brand new error */
-
- yyerror( yychar, yylval, yystate );
- yyerrlab:
- ++yynerrs;
-
- case 1:
- case 2: /* incompletely recovered error ... try again */
-
- yyerrflag = 3;
-
- /* find a state where "error" is a legal shift action */
-
- while ( yyps >= yys ) {
- yyn = yypact[*yyps] + YYERRCODE;
- if( yyn>= 0 && yyn < YYLAST && yychk[yyact[yyn]] == YYERRCODE ){
- yystate = yyact[yyn]; /* simulate a shift of "error" */
- goto yystack;
- }
- yyn = yypact[*yyps];
-
- /* the current yyps has no shift onn "error", pop stack */
-
- #ifdef YYDEBUG
- if( yydebug ) printf( "error recovery pops state %d, uncovers %d\n", *yyps, yyps[-1] );
- #endif
- --yyps;
- --yypv;
- }
-
- /* there is no state on the stack with an error shift ... abort */
-
- yyabort:
- return(1);
-
-
- case 3: /* no shift yet; clobber input char */
-
- #ifdef YYDEBUG
- if( yydebug ) printf( "error recovery discards char %d\n", yychar );
- #endif
-
- if( yychar == 0 ) goto yyabort; /* don't discard EOF, quit */
- yychar = -1;
- goto yynewstate; /* try again in the same state */
-
- }
-
- }
-
- /* reduction by production yyn */
-
- #ifdef YYDEBUG
- if( yydebug ) printf("reduce %d\n",yyn);
- #endif
- yyps -= yyr2[yyn];
- yypvt = yypv;
- yypv -= yyr2[yyn];
- yyval = yypv[1];
- yym=yyn;
- /* consult goto table to find next state */
- yyn = yyr1[yyn];
- yyj = yypgo[yyn] + *yyps + 1;
- if( yyj>=YYLAST || yychk[ yystate = yyact[yyj] ] != -yyn ) yystate = yyact[yypgo[yyn]];
- switch(yym){
-
- case 1:
- # line 161 "expanded.g"
- {gout(globfile);} break;
- case 4:
- # line 166 "expanded.g"
- {if (!nocode)
- rout(globfile, Str0(yypvt[-0]));
- nocode = 0;
- loc_init();} break;
- case 5:
- # line 170 "expanded.g"
- {if (!nocode)
- codegen(yypvt[-0]);
- nocode = 0;
- treeinit();
- loc_init();} break;
- case 6:
- # line 175 "expanded.g"
- {;} break;
- case 7:
- # line 176 "expanded.g"
- {;} break;
- case 8:
- # line 178 "expanded.g"
- {;} break;
- case 10:
- # line 181 "expanded.g"
- {;} break;
- case 11:
- # line 183 "expanded.g"
- {addlfile(Str0(yypvt[-0]));} break;
- case 12:
- # line 184 "expanded.g"
- {addlfile(Str0(yypvt[-0]));} break;
- case 13:
- # line 186 "expanded.g"
- {idflag = F_Global;} break;
- case 14:
- # line 186 "expanded.g"
- {;} break;
- case 15:
- # line 188 "expanded.g"
- {idflag = F_Argument;} break;
- case 16:
- # line 188 "expanded.g"
- {
- install(Str0(yypvt[-3]),F_Record|F_Global,id_cnt);
- yyval = yypvt[-3];
- } break;
- case 17:
- # line 193 "expanded.g"
- {id_cnt = 0;} break;
- case 18:
- # line 194 "expanded.g"
- {;} break;
- case 19:
- # line 196 "expanded.g"
- {
- yyval = tree6(N_Proc,yypvt[-5],yypvt[-5],yypvt[-2],yypvt[-1],yypvt[-0]);
- } break;
- case 20:
- # line 200 "expanded.g"
- {idflag = F_Argument;} break;
- case 21:
- # line 200 "expanded.g"
- {
- yyval = yypvt[-3];
- install(Str0(yypvt[-3]),F_Proc|F_Global,id_cnt);
- } break;
- case 22:
- # line 205 "expanded.g"
- {id_cnt = 0;} break;
- case 23:
- # line 206 "expanded.g"
- {;} break;
- case 24:
- # line 207 "expanded.g"
- {id_cnt = -id_cnt;} break;
- case 25:
- # line 210 "expanded.g"
- {
- install(Str0(yypvt[-0]),idflag,0);
- id_cnt = 1;
- } break;
- case 26:
- # line 214 "expanded.g"
- {
- install(Str0(yypvt[-0]),idflag,0);
- ++id_cnt;
- } break;
- case 27:
- # line 219 "expanded.g"
- {;} break;
- case 28:
- # line 220 "expanded.g"
- {;} break;
- case 29:
- # line 222 "expanded.g"
- {idflag = F_Dynamic;} break;
- case 30:
- # line 223 "expanded.g"
- {idflag = F_Static;} break;
- case 31:
- # line 225 "expanded.g"
- {yyval = tree1(N_Empty) ;} break;
- case 32:
- # line 226 "expanded.g"
- {yyval = yypvt[-1];} break;
- case 33:
- # line 228 "expanded.g"
- {yyval = tree1(N_Empty) ;} break;
- case 34:
- # line 229 "expanded.g"
- {yyval = tree4(N_Slist,yypvt[-1],yypvt[-2],yypvt[-0]) ;} break;
- case 35:
- # line 231 "expanded.g"
- {yyval = tree1(N_Empty) ;} break;
- case 38:
- # line 235 "expanded.g"
- {yyval = tree5(N_Conj,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]) ;} break;
- case 40:
- # line 238 "expanded.g"
- {yyval = tree5(N_Scan,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]) ;} break;
- case 42:
- # line 241 "expanded.g"
- case 43:
- # line 242 "expanded.g"
- case 44:
- # line 243 "expanded.g"
- case 45:
- # line 244 "expanded.g"
- {yyval = tree5(N_Binop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 46:
- # line 245 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 47:
- # line 246 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 48:
- # line 247 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 49:
- # line 248 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 50:
- # line 249 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 51:
- # line 250 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 52:
- # line 251 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 53:
- # line 252 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 54:
- # line 253 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 55:
- # line 254 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 56:
- # line 255 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 57:
- # line 256 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 58:
- # line 257 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 59:
- # line 258 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 60:
- # line 259 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 61:
- # line 260 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 62:
- # line 261 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 63:
- # line 262 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 64:
- # line 263 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 65:
- # line 264 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 66:
- # line 265 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 67:
- # line 266 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 68:
- # line 267 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 69:
- # line 268 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 70:
- # line 269 "expanded.g"
- {yyval = tree5(N_Augop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 71:
- # line 270 "expanded.g"
- {yyval = tree5(N_Scan,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]) ;} break;
- case 72:
- # line 271 "expanded.g"
- {yyval = tree5(N_Conj,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]) ;} break;
- case 73:
- # line 272 "expanded.g"
- {yyval = tree5(N_Activat,yypvt[-1],yypvt[-1],yypvt[-0],yypvt[-2]) ;} break;
- case 75:
- # line 275 "expanded.g"
- {yyval = tree4(N_To,yypvt[-1],yypvt[-2],yypvt[-0]) ;} break;
- case 76:
- # line 276 "expanded.g"
- {yyval = tree5(N_ToBy,yypvt[-3],yypvt[-4],yypvt[-2],yypvt[-0]) ;} break;
- case 78:
- # line 279 "expanded.g"
- {yyval = tree4(N_Alt,yypvt[-1],yypvt[-2],yypvt[-0]) ;} break;
- case 80:
- # line 282 "expanded.g"
- case 81:
- # line 283 "expanded.g"
- case 82:
- # line 284 "expanded.g"
- case 83:
- # line 285 "expanded.g"
- case 84:
- # line 286 "expanded.g"
- case 85:
- # line 287 "expanded.g"
- case 86:
- # line 288 "expanded.g"
- case 87:
- # line 289 "expanded.g"
- case 88:
- # line 290 "expanded.g"
- case 89:
- # line 291 "expanded.g"
- case 90:
- # line 292 "expanded.g"
- case 91:
- # line 293 "expanded.g"
- case 92:
- # line 294 "expanded.g"
- case 93:
- # line 295 "expanded.g"
- case 95:
- # line 298 "expanded.g"
- case 96:
- # line 299 "expanded.g"
- case 98:
- # line 302 "expanded.g"
- case 99:
- # line 303 "expanded.g"
- case 100:
- # line 304 "expanded.g"
- case 101:
- # line 305 "expanded.g"
- case 103:
- # line 308 "expanded.g"
- case 104:
- # line 309 "expanded.g"
- case 105:
- # line 310 "expanded.g"
- case 106:
- # line 311 "expanded.g"
- case 108:
- # line 314 "expanded.g"
- {yyval = tree5(N_Binop,yypvt[-1],yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 110:
- # line 317 "expanded.g"
- {yyval = tree4(N_Limit,yypvt[-2],yypvt[-2],yypvt[-0]) ;} break;
- case 111:
- # line 318 "expanded.g"
- {yyval = tree5(N_Activat,yypvt[-1],yypvt[-1],yypvt[-0],yypvt[-2]) ;} break;
- case 112:
- # line 319 "expanded.g"
- {yyval = tree4(N_Apply,yypvt[-1],yypvt[-2],yypvt[-0]) ;} break;
- case 114:
- # line 322 "expanded.g"
- {yyval = tree5(N_Activat,yypvt[-1],yypvt[-1],yypvt[-0],tree1(N_Empty) ) ;} break;
- case 115:
- # line 323 "expanded.g"
- {yyval = tree3(N_Not,yypvt[-0],yypvt[-0]) ;} break;
- case 116:
- # line 324 "expanded.g"
- {yyval = tree3(N_Bar,yypvt[-0],yypvt[-0]) ;} break;
- case 117:
- # line 325 "expanded.g"
- {yyval = tree3(N_Bar,yypvt[-0],yypvt[-0]) ;} break;
- case 118:
- # line 326 "expanded.g"
- {yyval = tree3(N_Bar,yypvt[-0],yypvt[-0]) ;} break;
- case 119:
- # line 327 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 120:
- # line 328 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 121:
- # line 329 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 122:
- # line 330 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 123:
- # line 331 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 124:
- # line 332 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 125:
- # line 333 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 126:
- # line 334 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 127:
- # line 335 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 128:
- # line 336 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 129:
- # line 337 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 130:
- # line 338 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 131:
- # line 339 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 132:
- # line 340 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 133:
- # line 341 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 134:
- # line 342 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 135:
- # line 343 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 136:
- # line 344 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 137:
- # line 345 "expanded.g"
- {yyval = tree4(N_Unop,yypvt[-1],yypvt[-1],yypvt[-0]);} break;
- case 147:
- # line 355 "expanded.g"
- {yyval = tree3(N_Create,yypvt[-1],yypvt[-0]) ;} break;
- case 148:
- # line 356 "expanded.g"
- {Val0(yypvt[-0]) = putloc(Str0(yypvt[-0]),0);} break;
- case 149:
- # line 357 "expanded.g"
- {yyval = tree2(N_Next,yypvt[-0]) ;} break;
- case 150:
- # line 358 "expanded.g"
- {yyval = tree3(N_Break,yypvt[-1],yypvt[-0]) ;} break;
- case 151:
- # line 359 "expanded.g"
- {if ((yypvt[-1])->n_type == N_Elist)
- yyval = tree4(N_Invok,yypvt[-2],tree1(N_Empty) ,yypvt[-1]);
- else
- yyval = yypvt[-1];} break;
- case 152:
- # line 363 "expanded.g"
- {yyval = yypvt[-1];} break;
- case 153:
- # line 364 "expanded.g"
- {yyval = tree3(N_List,yypvt[-2],yypvt[-1]) ;} break;
- case 154:
- # line 365 "expanded.g"
- {yyval = tree5(N_Binop,yypvt[-2],yypvt[-2],yypvt[-3],yypvt[-1]);} break;
- case 155:
- # line 366 "expanded.g"
- {yyval = tree4(N_Invok,yypvt[-1],yypvt[-2],
- tree3(N_List,yypvt[-1],tree1(N_Empty) )) ;} break;
- case 156:
- # line 368 "expanded.g"
- {yyval = tree4(N_Invok,yypvt[-2],yypvt[-3],tree3(N_List,yypvt[-2],yypvt[-1])) ;} break;
- case 157:
- # line 370 "expanded.g"
- {yyval = tree4(N_Invok,yypvt[-2],yypvt[-3],yypvt[-1]) ;} break;
- case 158:
- # line 371 "expanded.g"
- {yyval = tree4(N_Field,yypvt[-1],yypvt[-2],yypvt[-0]) ;} break;
- case 159:
- # line 372 "expanded.g"
- {yyval = int_leaf(N_Key,yypvt[-1],K_FAIL) ;} break;
- case 160:
- # line 373 "expanded.g"
- {if ((key_num = klookup(Str0(yypvt[-0]))) == 0)
- tfatal("invalid keyword",Str0(yypvt[-0]));
- yyval = int_leaf(N_Key,yypvt[-1],key_num);} break;
- case 161:
- # line 377 "expanded.g"
- {yyval = tree5(N_Loop,yypvt[-1],yypvt[-1],yypvt[-0],tree1(N_Empty) );} break;
- case 162:
- # line 378 "expanded.g"
- {yyval = tree5(N_Loop,yypvt[-3],yypvt[-3],yypvt[-2],yypvt[-0]) ;} break;
- case 163:
- # line 380 "expanded.g"
- {yyval = tree5(N_Loop,yypvt[-1],yypvt[-1],yypvt[-0],tree1(N_Empty) ) ;} break;
- case 164:
- # line 381 "expanded.g"
- {yyval = tree5(N_Loop,yypvt[-3],yypvt[-3],yypvt[-2],yypvt[-0]) ;} break;
- case 165:
- # line 383 "expanded.g"
- {yyval = tree5(N_Loop,yypvt[-1],yypvt[-1],yypvt[-0],tree1(N_Empty) ) ;} break;
- case 166:
- # line 384 "expanded.g"
- {yyval = tree5(N_Loop,yypvt[-3],yypvt[-3],yypvt[-2],yypvt[-0]) ;} break;
- case 167:
- # line 386 "expanded.g"
- {yyval = tree5(N_Loop,yypvt[-1],yypvt[-1],yypvt[-0],tree1(N_Empty) ) ;} break;
- case 168:
- # line 388 "expanded.g"
- {yyval = tree4(N_Ret,yypvt[-0],yypvt[-0],tree1(N_Empty) ) ;} break;
- case 169:
- # line 389 "expanded.g"
- {yyval = tree4(N_Ret,yypvt[-1],yypvt[-1],yypvt[-0]) ;} break;
- case 170:
- # line 390 "expanded.g"
- {yyval = tree5(N_Loop,yypvt[-1],yypvt[-1],yypvt[-0],tree1(N_Empty) ) ;} break;
- case 171:
- # line 391 "expanded.g"
- {yyval = tree5(N_Loop,yypvt[-3],yypvt[-3],yypvt[-2],yypvt[-0]) ;} break;
- case 172:
- # line 393 "expanded.g"
- {yyval = tree5(N_If,yypvt[-3],yypvt[-2],yypvt[-0],tree1(N_Empty) ) ;} break;
- case 173:
- # line 394 "expanded.g"
- {yyval = tree5(N_If,yypvt[-5],yypvt[-4],yypvt[-2],yypvt[-0]) ;} break;
- case 174:
- # line 396 "expanded.g"
- {yyval = tree4(N_Case,yypvt[-5],yypvt[-4],yypvt[-1]) ;} break;
- case 176:
- # line 399 "expanded.g"
- {yyval = tree4(N_Clist,yypvt[-1],yypvt[-2],yypvt[-0]) ;} break;
- case 177:
- # line 401 "expanded.g"
- {yyval = tree4(N_Ccls,yypvt[-1],yypvt[-2],yypvt[-0]) ;} break;
- case 178:
- # line 402 "expanded.g"
- {yyval = tree4(N_Ccls,yypvt[-1],yypvt[-2],yypvt[-0]) ;} break;
- case 180:
- # line 405 "expanded.g"
- {yyval = tree4(N_Elist,yypvt[-1],yypvt[-2],yypvt[-0]);} break;
- case 181:
- # line 407 "expanded.g"
- {
- yyval = tree3(N_Create,yypvt[-0],yypvt[-0]) ;
- } break;
- case 182:
- # line 410 "expanded.g"
- {
- yyval = tree4(N_Elist,yypvt[-1],yypvt[-2],tree3(N_Create,yypvt[-1],yypvt[-0]));
- } break;
- case 183:
- # line 414 "expanded.g"
- {Val0(yypvt[-0]) = putlit(Str0(yypvt[-0]),F_IntLit,0);} break;
- case 184:
- # line 415 "expanded.g"
- {Val0(yypvt[-0]) = putlit(Str0(yypvt[-0]),F_RealLit,0);} break;
- case 185:
- # line 416 "expanded.g"
- {Val0(yypvt[-0]) = putlit(Str0(yypvt[-0]),F_StrLit,(int)Val1(yypvt[-0]));} break;
- case 186:
- # line 417 "expanded.g"
- {Val0(yypvt[-0]) = putlit(Str0(yypvt[-0]),F_CsetLit,(int)Val1(yypvt[-0]));} break;
- case 187:
- # line 419 "expanded.g"
- {yyval = tree6(N_Sect,yypvt[-2],yypvt[-2],yypvt[-5],yypvt[-3],yypvt[-1]) ;} break;
- case 188:
- # line 421 "expanded.g"
- {yyval = yypvt[-0];} break;
- case 189:
- # line 422 "expanded.g"
- {yyval = yypvt[-0];} break;
- case 190:
- # line 423 "expanded.g"
- {yyval = yypvt[-0];} break;
- case 192:
- # line 426 "expanded.g"
- {yyval = tree4(N_Slist,yypvt[-1],yypvt[-2],yypvt[-0]) ;} break;
- }
- goto yystack; /* stack new state and value */
-
- }
-